package comunicacao;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;

public class ThreadReceberMensagem extends Thread {
	private Socket socket;
	private Comunicacao comunicacao;
	
	public ThreadReceberMensagem(Socket socket, Comunicacao comunicacao) {
		this.socket = socket;
		this.comunicacao = comunicacao;
	}
	
	@Override
	public void run(){
		ObjectInputStream input;
		Mensagem mensagem;
		super.run();
		while(true) {
			try {
				System.out.println("thread recebeu a mensagem!");
				input = new ObjectInputStream(this.socket.getInputStream());
				mensagem = (Mensagem)input.readObject();
				this.comunicacao.receber(mensagem);
			}
			catch(IOException e) {
				System.out.println(e.getMessage());
			}
			catch(ClassNotFoundException e) {
				System.out.println(e.getMessage());
			}
			catch (DestinoDesconhecidoException e) {
				System.out.println(e.getMessage());
			}
		}
	}
}
